import { TransactionRecordEnum } from "@/enums/transactionRecordEnum";

export interface InventoryItem {
  id: string;
  createBy: string;
  createTime: string;
  updateBy: string;
  updateTime: string;
  variantCode: string;
  branchId: string | null;
  qtyTotal: number;
  qtyAvailable: number;
  qtySalesLocked: number;
  qtyLocked: number;
  qtySold: number;
  avgCost: number;
  lastCost: number;
  delFlag: number;
}

export interface Variant {
  id: string;
  createBy: string;
  createTime: string;
  updateBy: string;
  updateTime: string;
  productId: string;
  name: string;
  title: string;
  sku: string;
  code: string;
  status: string;
  barcode: string | null;
  soldPrice: number;
  promotionPrice: number;
  recTradeinPrice: number;
  minTradeinPrice: number;
  avgCost: number | null;
  lastCost: number | null;
  cost: number | null;
  weight: number | null;
  qtyTotal: number | null;
  qtyAvailable: number | null;
  qtyLocked: number | null;
  qtySold: number | null;
  delFlag: number;
  branchId: string | null;
}

export interface InventoryDetailVO {
  inventoryItem: InventoryItem;
  variants: Variant;
}

export interface SNItem {
  id: string;
  name: string;
  status: string;
  lastCost: number;
  inventoryId: string;
  variantId: string;
}

export interface SnTransactionRecordVO {
  type: TransactionRecordEnum;
  id: string;
  createTime: Date;
}
